// pages/register/register.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    countryCodes: ["86", "80", "84", "87"],
    countryCodeIndex: 0,
    get_code_btn: true, //验证码显示隐藏
    timer: '',
    phoneNum: "",
    count_down:60
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  },
  //绑定输入的手机号
  inputPhoneNum:function(e){
    
    this.setData({
    phoneNum:e.detail.value      
    })
  },
  
  //倒计时方法
  get_code_settime:function(that){
    var that = this;
    var countDown = that.data.count_down;    //获取倒计时初始值
    //如果定时器设置在外边，那么用户就看不到countDown的数值变化，所以要把定时器存进data里边
    that.setData({
      //这里把setInterval复制给变量名timer
      timer: setInterval(function () {
       // 每隔一秒减1
        countDown--;
        that.setData({
          get_code_btn: false,    //此处用于隐藏验证码点击按钮，使倒计时显示
          count_down: countDown   //倒计时计数 
        })
        //当计数为0时，清空定时器，使验证码按钮再次显示
        if (countDown == 0) {
          clearInterval(that.data.timer);//此处我清除timer之后，count_down没有变回我原先设定的120，get_code_btn也没有变回默认的true，咱没搞明白，所以我又重新赋值了
          that.setData({
            get_code_btn: true,
            count_down: '60'
          })
        }
      }, 1000)
    })
  },

  //获取验证码事件
  genVerifyCode:function(){
    //获取国家代码的索引
    var index =this.data.countryCodeIndex;
    //根据索引取值
    var countryCode = this.data.countryCodes[index];
    //获取输入的手机号
    var phoneNum = this.data.phoneNum;
    console.log(countryCode);
    console.log(phoneNum);
    var that = this;
    var phoneNum = this.data.phoneNum;
    //验证手机号
    if (!(/^1[34578]\d{9}$/.test(phoneNum)) || phoneNum.length < 11) {
      wx.showToast({
        title: '请输入正确的手机号',
        icon: 'none',
        duration: 1000,
      })
      return false;
    }
    //通过验证，请求发送验证码，给验证码按钮设置倒计时        
    //wx.request成功之后，调用倒计时方法
    this.get_code_settime();

    //向后台发送请求
    wx.request({
      //请求地址
      url: 'http://localhost:8080/user/genCode',
      //发送请求的方式
      method:'GET',
      //传递的参数
      data:{
        "countryCode": countryCode,
        "phoneNum": phoneNum
      },
      //成功的回调函数
      success:function(res){
        wx.showToast({
          title:"验证码已发送",
          duration:2000,
        })
      }
    })


  },


  formSubmit:function(e){
    var phoneNum = e.detail.value.phoneNum;
    var verifyCode = e.detail.value.verifyCode;
    wx.request({
      url: 'http://localhost:8080/user/verify',
      method: "POST",
      header: {
        'content-type': 'application/x-www-form-urlencoded'
      },
      data: {
        phoneNum: phoneNum,
        verifyCode: verifyCode
      },
      success: function (res) {
        if(res.data){
          //校验成功
          var password =e.detail.value.password
          wx.request({
            url: 'http://localhost:8080/user/reg',
            method:'POST',
            data:{
              phone:phoneNum,
              regDate:new Date(),
              password:password
            },
            //注册成功
            success:function(reg){
                if(res.data){
                    wx.navigateTo({
                      url: '../login/login',
                    })
                }else{
                    wx.showModal({
                      title: '提示',
                      content: '服务器错误',
                    })
                }
            }
          })
        }else{//校验失败
        wx.showModal({
          title: '提示',
          content: '验证码有误，重新输入',
          showCancel:false
        })
        }


      }
    })
  }
})